home *** CD-ROM | disk | FTP | other *** search
/ Risc World 3 / Risc World 3.iso / SOFTWARE / ISSUE3 / POWERBASE / UTILS / MailMerge / UserFuncs (.txt)
RISC OS BBC BASIC V Source  |  2001-03-12  |  3KB  |  108 lines

  1.  >&.Keep.UserFuncs
  2. Uageinyrs(date1$,date2$)
  3.  --- v.02
  4.  --- date1$ & date2$ in format : "DD-MM-YY" or "DD-MM-YYYY"
  5.  ### Now handles century wrap-around ###
  6.  d1%,d2%,m1%,m2%,y1%,y2%,age%,age$ : age$=""
  7.  date1$<>"" 
  8.  date2$<>"" 
  9.     >   d1%=
  10. date1$,2)):m1%=
  11. date1$,4,2)):y1%=
  12. date1$,2))
  13. >   d2%=
  14. date2$,2)):m2%=
  15. date2$,4,2)):y2%=
  16. date2$,2))
  17.  y2%<10 
  18.  y2%+=100
  19.  y2%<y1% 
  20.  (y2%=y1% 
  21.  m2%<m1%) 
  22.  (y2%=y1% 
  23.  m2%=m1% 
  24.  d2%<d1%) 
  25.      age$="--"
  26.      age%=y2%-y1%
  27.      
  28.         
  29.  (m2%<m1%) : age%-=1
  30. ,       
  31.  (m2%=m1%) 
  32.  (d2%<d1%) : age%-=1
  33.      
  34.      age$=
  35. (age%)
  36.     =age$
  37. Udate8(d%,m%,y%)
  38.  --- v.01
  39.  --- Returns a string (DD-MM-YY) from the day, month and year
  40.      integer parameters d%, m%, and y% respectively.
  41.      Returns null string if any parameter = 0 (or is an empty field)
  42.  date$,d$,m$,y$ : date$=""
  43.  d%>0 
  44.  d%<32 
  45.  m%>0 
  46.  m%<13 
  47.  y%>0 
  48.  y%<100 
  49.  !   d$=
  50. (d%):m$=
  51. (m%):y$=
  52.  d%<10 d$="0"+d$
  53.  m%<10 m$="0"+m$
  54.  y%<10 y$="0"+y$
  55.    date$=d$+"-"+m$+"-"+y$
  56. =date$
  57. Unow(t$)
  58.  --- v.01
  59.  --- Returns current date in format : "DD-MM-YY"
  60.  mon$,m$ : mon$=
  61. $,8,3)
  62.  mon$ 
  63.  "Jan" : m$="01"
  64.  "Feb" : m$="02"
  65.  "Mar" : m$="03"
  66.  "Apr" : m$="04"
  67.  "May" : m$="05"
  68.  "Jun" : m$="06"
  69.  "Jul" : m$="07"
  70.  "Aug" : m$="08"
  71.  "Sep" : m$="09"
  72.  "Oct" : m$="10"
  73.  "Nov" : m$="11"
  74.  "Dec" : m$="12"
  75.   : m$="??"
  76. $,5,2)+"-"+m$+"-"+
  77. $,14,2)
  78. Uname(surname$,forename$,middlenames$)
  79.  ### Returns name as forename$ <space> surname$ UNLESS one of ###
  80.  ### middle names is immediately followed by an asterisk, in ###
  81.  ### which case the indicated name is used in place of forename$ ###
  82.  P%,Q%,N$
  83. middlenames$,"*")
  84.  P%=0 
  85.   N$=forename$+" "+surname$
  86.   Q%=P%
  87.  Q%-=1
  88.  Q%=0 
  89. middlenames$,Q%,1)=" "
  90. I1  N$=
  91. middlenames$,Q%+1,P%-Q%-1)+" "+surname$
  92. Uday(date$)
  93.  day%,day$,suffix$
  94. day%=
  95. (date$)
  96.  day% 
  97.  1,21,31:suffix$="st"
  98.  2,22:suffix$="nd"
  99.  3,23:suffix$="rd"
  100. :suffix$="th"
  101. (day%)+suffix$
  102. Umonth(date$)
  103.  month%,months$
  104. Zzmonths$="January  February March    April    May      June     July     August   SeptemberOctober  November December "
  105. month%=
  106. date$,4,2))
  107. months$,month%*9-8,9)
  108.